package com.cskaoyan.bean.vo.weixin_zyl_VO;

import com.cskaoyan.bean.marketBean.MarketAddress;
import com.cskaoyan.bean.marketBean.MarketCart;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@NoArgsConstructor
@Data
public class Weixin_zyl_checkout {
    @JsonProperty("errno")
    private Integer errno;
    @JsonProperty("data")
    private DataDTO data;
    @JsonProperty("errmsg")
    private String errmsg;

    @NoArgsConstructor
    @Data
    public static class DataDTO {
        @JsonProperty("grouponRulesId")
        private Integer grouponRulesId;//组规则ID
        @JsonProperty("actualPrice")
        private Integer actualPrice;//现在的价格
        @JsonProperty("orderTotalPrice")
        private Integer orderTotalPrice;//订单总价
        @JsonProperty("cartId")
        private Integer cartId;//购物车id
        @JsonProperty("userCouponId")
        private Integer userCouponId;//用户优惠券ID
        @JsonProperty("couponId")
        private Integer couponId;//用户优惠券ID
        @JsonProperty("goodsTotalPrice")
        private Integer goodsTotalPrice;//货物总价
        @JsonProperty("addressId")
        private Integer addressId;//地址Id
        @JsonProperty("grouponPrice")
        private Integer grouponPrice;//组团价格
        @JsonProperty("checkedAddress")
        private MarketAddress checkedAddress;
        @JsonProperty("couponPrice")
        private Integer couponPrice;//优惠券减免
        @JsonProperty("availableCouponLength")
        private Integer availableCouponLength;//付款订单数量
        @JsonProperty("freightPrice")
        private Integer freightPrice;//运费价格
        @JsonProperty("checkedGoodsList")
        private List<MarketCart> checkedGoodsList;

        @NoArgsConstructor
        @Data
        public static class CheckedAddressDTO {
            @JsonProperty("id")
            private Integer id;
        }

        @NoArgsConstructor
        @Data
        public static class CheckedGoodsListDTO {
            @JsonProperty("id")
            private Integer id;
            @JsonProperty("userId")
            private Integer userId;
            @JsonProperty("goodsId")
            private Integer goodsId;
            @JsonProperty("goodsSn")
            private String goodsSn;
            @JsonProperty("goodsName")
            private String goodsName;
            @JsonProperty("productId")
            private Integer productId;
            @JsonProperty("price")
            private Integer price;
            @JsonProperty("number")
            private Integer number;
            @JsonProperty("specifications")
            private List<String> specifications;
            @JsonProperty("checked")
            private Boolean checked;
            @JsonProperty("picUrl")
            private String picUrl;
            @JsonProperty("addTime")
            private String addTime;
            @JsonProperty("updateTime")
            private String updateTime;
            @JsonProperty("deleted")
            private Boolean deleted;
        }
    }
}
